#region Copyright
/// <copyright>
/// Copyright (c) 2007 Ilia Shramko.
/// Released under the terms of the GNU General Public License.
/// </copyright>
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace Osh.Teletext
{
	/// <summary>
	/// Defines the coding of packets X/1 to X/25 of the associated page.
	/// </summary>
	public enum PageCoding
	{
		/// <summary>
		/// All 8-bit bytes, each comprising 7 data bits and 1 odd parity bit.
		/// </summary>
		Data7OddParity1 = 0,
		
		/// <summary>
		/// All 8-bit bytes, each comprising 8 data bits.
		/// </summary>
		Data8 = 1,

		/// <summary>
		/// Per packet: One 8-bit byte coded Hamming 8/4, followed by thirteen groups of
		/// three 8-bit bytes coded Hamming 24/18. All packets coded in this way.
		/// </summary>
		Hamming84Hamming2418 = 2,

		/// <summary>
		/// All 8-bit bytes, each code Hamming 8/4.
		/// </summary>
		Hamming84 = 3,

		/// <summary>
		/// Per packet: Eight 8-bit bytes coded Hamming 8/4, followed by twelve 8-bit
		/// bytes coded 7 data bits and 1 odd parity bit. This sequence is then repeated for
		/// the remaining 20 bytes. All packets coded in this way.
		/// </summary>
		Hamming84Data7OddParity1 = 4,

		/// <summary>
		/// Per packet: First 8-bit byte coded Hamming 8/4. The data bits from this byte
		/// define the coding of the remaining 39 bytes of this packet only, according to the
		/// first five entries in this table.
		/// </summary>
		Mutable = 5,
	}
}
